<html>
<head><meta charset="utf-8"><title>names of atoms · t-compiler/wg-polonius · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/index.html">t-compiler/wg-polonius</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html">names of atoms</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="175660362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660362">(Sep 13 2019 at 20:16)</a>:</h4>
<p>OK I couldn't help myself. I took a stab at creating names for each of the atoms in <a href="https://github.com/rust-lang-nursery/polonius/issues/124" target="_blank" title="https://github.com/rust-lang-nursery/polonius/issues/124">polonius#124</a>. Thoughts?</p>



<a name="175660392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660392">(Sep 13 2019 at 20:17)</a>:</h4>
<ul>
<li>variables</li>
<li>paths (nee MovePath)</li>
<li>nodes (nee Points)</li>
<li>loans</li>
<li>origins (nee Regions)</li>
</ul>



<a name="175660404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660404">(Sep 13 2019 at 20:17)</a>:</h4>
<p>Note that the first letters are all unique, though I think we should indeed prefer to use full words when we can :)</p>



<a name="175660417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660417">(Sep 13 2019 at 20:17)</a>:</h4>
<p>points -&gt; nodes to free up P/Paths ? :)</p>



<a name="175660424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660424">(Sep 13 2019 at 20:17)</a>:</h4>
<p>Yes :P</p>



<a name="175660431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660431">(Sep 13 2019 at 20:17)</a>:</h4>
<p>:)</p>



<a name="175660440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660440">(Sep 13 2019 at 20:18)</a>:</h4>
<p>but also, well, I can't remember why, but I remember thinking that Point felt a bit ambiguous in the past</p>



<a name="175660488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660488">(Sep 13 2019 at 20:18)</a>:</h4>
<p>it may have just been the letter "P" really</p>



<a name="175660499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660499">(Sep 13 2019 at 20:18)</a>:</h4>
<p>but it feels like saying "points are the nodes in the control-flow graph" feels silly</p>



<a name="175660507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660507">(Sep 13 2019 at 20:18)</a>:</h4>
<p>like, node is the standard term...</p>



<a name="175660510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660510">(Sep 13 2019 at 20:18)</a>:</h4>
<p>true</p>



<a name="175660512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660512">(Sep 13 2019 at 20:18)</a>:</h4>
<p>(...though point is also fairly widely used)</p>



<a name="175660561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660561">(Sep 13 2019 at 20:19)</a>:</h4>
<p>it's pretty nice overall</p>



<a name="175660563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660563">(Sep 13 2019 at 20:19)</a>:</h4>
<p>I'm feeling pretty good about <em>origin</em> right now though.</p>



<a name="175660576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660576">(Sep 13 2019 at 20:19)</a>:</h4>
<p><em>provenance</em> just feels kind of jargon-y to me?</p>



<a name="175660589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660589">(Sep 13 2019 at 20:20)</a>:</h4>
<p>but that's the main one I'm debating about :)</p>



<a name="175660661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660661">(Sep 13 2019 at 20:20)</a>:</h4>
<p>:) I guess it is yeah, and origin seems more approachable</p>



<a name="175660780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660780">(Sep 13 2019 at 20:22)</a>:</h4>
<p>also it's easier to type</p>



<a name="175660836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660836">(Sep 13 2019 at 20:23)</a>:</h4>
<p>provenance feels good in oxide</p>



<a name="175660929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175660929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175660929">(Sep 13 2019 at 20:24)</a>:</h4>
<p>at least they won't share the name if the models end up slightly different, that could be confusing</p>



<a name="175742671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175742671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175742671">(Sep 15 2019 at 10:15)</a>:</h4>
<p>I also like origin, I frequently ran into the problem of talking about "provenance variables of variables"</p>



<a name="175742672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175742672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175742672">(Sep 15 2019 at 10:15)</a>:</h4>
<p>Origin helps a lot here</p>



<a name="175742676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175742676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175742676">(Sep 15 2019 at 10:15)</a>:</h4>
<p>(also, dropping "variable" after provenance of course)</p>



<a name="175763606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175763606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175763606">(Sep 15 2019 at 19:59)</a>:</h4>
<p>alright let's do this then</p>



<a name="175769432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175769432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175769432">(Sep 15 2019 at 22:42)</a>:</h4>
<p>next we can improve the names of the relations as well :)</p>



<a name="175801081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175801081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175801081">(Sep 16 2019 at 10:46)</a>:</h4>
<p>should I switch the atoms in <a href="https://hackmd.io/1xAIWaJ2SKW0AmtSndGM3w?view" target="_blank" title="https://hackmd.io/1xAIWaJ2SKW0AmtSndGM3w?view">this doc</a> to the new names ? BTW I think it's ready-ish for review, how do we want to proceed with this: open a PR or iterate on hackmd until ready ?</p>



<a name="175852779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175852779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175852779">(Sep 16 2019 at 21:07)</a>:</h4>
<p>In the last meeting I thought we used single-letters for generic types a lot, but we actually only did it once. They are now words in <a href="https://github.com/rust-lang/polonius/pull/125" target="_blank" title="https://github.com/rust-lang/polonius/pull/125">this new PR</a> along with converting most of the <code>region</code> uses to <code>origin</code> (except for the variable names in datafrog join closures and the datalog rules comments, which I didn't want to touch just yet). I also didn't change the other two atoms (maybe we don't really need to change <code>Point</code> <span aria-label="thinking" class="emoji emoji-1f914" role="img" title="thinking">:thinking:</span>, anyway)</p>



<a name="175883906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175883906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175883906">(Sep 17 2019 at 07:57)</a>:</h4>
<p>Looks good! I'm getting the impression I should...wait with any changes to Polonius :)</p>



<a name="175883952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175883952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175883952">(Sep 17 2019 at 07:58)</a>:</h4>
<p>This suits me perfectly anyway, as I'm swamped with the courses I'm TA:ing and finishing up my thesis and presentation</p>



<a name="175938938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175938938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175938938">(Sep 17 2019 at 19:11)</a>:</h4>
<blockquote>
<p>should I switch the atoms in <a href="https://hackmd.io/1xAIWaJ2SKW0AmtSndGM3w?view" target="_blank" title="https://hackmd.io/1xAIWaJ2SKW0AmtSndGM3w?view">this doc</a> to the new names ? BTW I think it's ready-ish for review, how do we want to proceed with this: open a PR or iterate on hackmd until ready ?</p>
</blockquote>
<p>new names!</p>



<a name="175939139"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175939139" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175939139">(Sep 17 2019 at 19:13)</a>:</h4>
<p>will do, and then open a PR about the inputs I know (pre-liveness) and Albin can then open a PR about the facts they know if that's ok ?</p>



<a name="175939549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175939549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175939549">(Sep 17 2019 at 19:18)</a>:</h4>
<p>sounds good</p>



<a name="175939580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175939580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175939580">(Sep 17 2019 at 19:19)</a>:</h4>
<p>I'll do so later tonight</p>



<a name="175943893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175943893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175943893">(Sep 17 2019 at 20:09)</a>:</h4>
<p>PR posted <a href="https://github.com/rust-lang/polonius/pull/126" target="_blank" title="https://github.com/rust-lang/polonius/pull/126">here</a> — I'm unsure about a couple places wrt universal regions naming, and about the whole thing in general :)</p>



<a name="175990196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175990196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175990196">(Sep 18 2019 at 10:20)</a>:</h4>
<p>I'm trying out  this in the variant's comments to describe the rules</p>
<div class="codehilite"><pre><span></span><span class="c1">// subset(origin1, origin3, point) :-</span>
<span class="c1">//  subset(origin1, origin2, point),</span>
<span class="c1">//  subset(origin2, origin3, point).</span>
</pre></div>


<p>and I kinda like the a e s t h e t i c s tbh, but the lowercasedness might trip up some datalog engines, would you rather have a leading uppercase letter ? but since we're not likely to copy paste the rules out of the various bits of the code, and rather have the rules documented in a single place in the book, maybe this isn't a problem for you <span class="user-mention" data-user-id="116009">@nikomatsakis</span> ?</p>



<a name="175990723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175990723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175990723">(Sep 18 2019 at 10:28)</a>:</h4>
<p>in the same vein, I don't expect us to <code>.decl</code> the relations in the variants' comments even if we used soufflé's format in the book</p>



<a name="175996589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/175996589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#175996589">(Sep 18 2019 at 11:51)</a>:</h4>
<p>The Great Renaming ™ step 2 has advanced, and <a href="https://github.com/lqd/borrow-check/blob/traveler_there_are_no_paths/polonius-engine/src/output/naive.rs" target="_blank" title="https://github.com/lqd/borrow-check/blob/traveler_there_are_no_paths/polonius-engine/src/output/naive.rs">here</a> is how the <code>Naive</code> variant would look. Note that I haven't done the renaming of <code>Points</code> to <code>Nodes</code> as I'd like to try using the word "point" everywhere at first and see how that looks like. Elsewhere in this branch, the majority of things have been renamed (so, except the CFG as I said, there will still be <code>p</code>s and <code>q</code>s but that should mostly be it for the single-letters) but the init/liveness (in case it would conflict too much with WIP work from Albin). What does everyone think, is that better ?</p>



<a name="176027112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176027112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176027112">(Sep 18 2019 at 17:37)</a>:</h4>
<p>(and <a href="https://github.com/lqd/borrow-check/blob/84e2475c4cb897d72588e2e48a4f53bf05c3a4e4/polonius-engine/src/output/naive.rs" target="_blank" title="https://github.com/lqd/borrow-check/blob/84e2475c4cb897d72588e2e48a4f53bf05c3a4e4/polonius-engine/src/output/naive.rs">this</a> is how the Naive variant looks using names for points, thoughts ?)</p>



<a name="176040046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040046">(Sep 18 2019 at 19:57)</a>:</h4>
<p>I think I would prefer <code>Origin1</code>, versus all lower-case. I think it's useful to be able to identify variables.</p>



<a name="176040071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040071">(Sep 18 2019 at 19:57)</a>:</h4>
<p>I guess I'd also like to be <em>able</em> to copy-and-paste with minimal fuss.</p>



<a name="176040134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040134">(Sep 18 2019 at 19:58)</a>:</h4>
<p>sure, I'll do that then :)</p>



<a name="176040150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040150">(Sep 18 2019 at 19:58)</a>:</h4>
<p>oh hmm</p>



<a name="176040160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040160">(Sep 18 2019 at 19:58)</a>:</h4>
<p>I guess the lower case names in the comments match the source variables?</p>



<a name="176040164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040164">(Sep 18 2019 at 19:58)</a>:</h4>
<p>that seems valuable</p>



<a name="176040169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040169">(Sep 18 2019 at 19:58)</a>:</h4>
<p>I think that's fine</p>



<a name="176040180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040180">(Sep 18 2019 at 19:58)</a>:</h4>
<p>I was thinking more about "the book"</p>



<a name="176040182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040182">(Sep 18 2019 at 19:58)</a>:</h4>
<p>it's interesting</p>



<a name="176040253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040253">(Sep 18 2019 at 19:59)</a>:</h4>
<p>maybe we can try like that last link for a while, and see how it feels ?</p>



<a name="176040284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040284">(Sep 18 2019 at 19:59)</a>:</h4>
<p>or I can do the title casing now, it's nbd</p>



<a name="176040466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176040466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176040466">(Sep 18 2019 at 20:00)</a>:</h4>
<p>for the book itself we agree it'd be better for the rules to be usable in a datalog engine with minimal work</p>



<a name="176045003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176045003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176045003">(Sep 18 2019 at 20:48)</a>:</h4>
<p>(since we'll be using real words, maybe I can switch from the verbose-ish "True if the restrictions of the loan <code>loan</code> need to be enforced at the point <code>point</code>" to the equally-clear "True if the restrictions of the <code>loan</code> need to be enforced at the <code>point</code>")</p>



<a name="176068964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176068964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tshepang Lekhonkhobe <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176068964">(Sep 19 2019 at 04:51)</a>:</h4>
<blockquote>
<p>OK I couldn't help myself. I took a stab at creating names for each of the atoms in <a href="https://github.com/rust-lang-nursery/polonius/issues/124" target="_blank" title="https://github.com/rust-lang-nursery/polonius/issues/124">polonius#124</a>. Thoughts?</p>
</blockquote>
<p>should we not prefer <code>bindings</code>, given that <code>variables</code> can refer to values  that do not change</p>



<a name="176495539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176495539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176495539">(Sep 24 2019 at 19:07)</a>:</h4>
<p>(I feel variable is pretty standard terminology, myself -- also, these do not necessarily correspond to bindings in the rust language)</p>



<a name="176502340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/176502340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#176502340">(Sep 24 2019 at 20:24)</a>:</h4>
<blockquote>
<p>(I feel variable is pretty standard terminology, myself -- also, these do not necessarily correspond to bindings in the rust language)</p>
</blockquote>
<p>Speaking of this, is there a more comprehensive guide to MIR somewhere than in the compiler book? For example, I am not at all sure about how MIR variables correspond to Rust variables</p>



<a name="177088786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177088786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177088786">(Oct 01 2019 at 19:22)</a>:</h4>
<p>nope but it'd be good to accumulate questions you've had in a rustc-guide issue</p>



<a name="177088793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177088793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177088793">(Oct 01 2019 at 19:22)</a>:</h4>
<p>well I mean there is the RFC etc</p>



<a name="177088799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177088799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177088799">(Oct 01 2019 at 19:22)</a>:</h4>
<p>which maybe clarifies some of that</p>



<a name="177228396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228396">(Oct 03 2019 at 09:39)</a>:</h4>
<p>PS, I'm finding that working on these RBR slides is a good way to "test out" these atom names</p>



<a name="177228476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228476">(Oct 03 2019 at 09:40)</a>:</h4>
<p>how do they feel ?</p>



<a name="177228636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228636">(Oct 03 2019 at 09:42)</a>:</h4>
<p>Mostly good.</p>



<a name="177228656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228656">(Oct 03 2019 at 09:42)</a>:</h4>
<p>I was just now struggling a bit around the word <strong>origin</strong></p>



<a name="177228669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228669">(Oct 03 2019 at 09:42)</a>:</h4>
<p>haha :)</p>



<a name="177228689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228689">(Oct 03 2019 at 09:43)</a>:</h4>
<p>I wanted to talk about how, whenever a variable is live, any origins that appear in its type must be live .. ah, maybe that's actually the mistake</p>



<a name="177228695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228695">(Oct 03 2019 at 09:43)</a>:</h4>
<p>what I am really <em>trying</em> to say is that</p>



<a name="177228705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228705">(Oct 03 2019 at 09:43)</a>:</h4>
<p>the <strong>loans</strong> that appear in its type are live</p>



<a name="177228716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228716">(Oct 03 2019 at 09:43)</a>:</h4>
<p>i.e., the problem is focusing on the "origins" at all</p>



<a name="177228775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228775">(Oct 03 2019 at 09:44)</a>:</h4>
<p>(also, it's not clear that "provenance" would have helped -- and lifetime can be downright confusing)</p>



<a name="177228786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228786">(Oct 03 2019 at 09:44)</a>:</h4>
<p>put another way, I sometimes want to be sloppy and talk about (e.g.) the "origin of a variable"</p>



<a name="177228791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228791">(Oct 03 2019 at 09:44)</a>:</h4>
<p>and that felt confusing to me</p>



<a name="177228800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228800">(Oct 03 2019 at 09:44)</a>:</h4>
<p>but really I think the flaw is that being sloppy like that is just kind of ungreat</p>



<a name="177228812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228812">(Oct 03 2019 at 09:44)</a>:</h4>
<p>would the "region of a variable" have been clearer, say ?</p>



<a name="177228826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228826">(Oct 03 2019 at 09:44)</a>:</h4>
<p>not really</p>



<a name="177228829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228829">(Oct 03 2019 at 09:45)</a>:</h4>
<p>that's kind of what I mean</p>



<a name="177228839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228839">(Oct 03 2019 at 09:45)</a>:</h4>
<p>it's confusing no matter which word you use, istm</p>



<a name="177228858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228858">(Oct 03 2019 at 09:45)</a>:</h4>
<p>that's kind of the reason why (re)naming them was hard as well</p>



<a name="177228859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228859">(Oct 03 2019 at 09:45)</a>:</h4>
<p>but the "loans that appear in the variable's type", while wordy, seems reasonable to explain</p>



<a name="177228924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177228924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177228924">(Oct 03 2019 at 09:46)</a>:</h4>
<p>the loans are key</p>



<a name="177501369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177501369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177501369">(Oct 07 2019 at 08:56)</a>:</h4>
<blockquote>
<p>but the "loans that appear in the variable's type", while wordy, seems reasonable to explain</p>
</blockquote>
<p>I had similar problems in my thesis presentation and I think this is probably the best way to resolve them</p>



<a name="177501385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177501385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177501385">(Oct 07 2019 at 08:56)</a>:</h4>
<p>I mean, the origins are just placeholders anyway?</p>



<a name="177501435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177501435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177501435">(Oct 07 2019 at 08:57)</a>:</h4>
<p>Basically, what I did was hand-wave and say "these relations come into contact in order to figure out which of these loans are live, and when a live loan is violated we have an error"</p>



<a name="177501460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/names%20of%20atoms/near/177501460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/names.20of.20atoms.html#177501460">(Oct 07 2019 at 08:58)</a>:</h4>
<p>by which I mean I literally waved my hands across a chart showing the flow between the different relations</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>